ImageMesh
A example of creating and using boundary mesh
Download original notebookSmile!
img = (*VB[*)(FrontEndRef["3f9da47c-1b07-40b8-91e3-b5f1b8313276"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKG6dZpiSamCfrGiYZmOuaGCRZ6FoaphrrJpmmGSZZGBsaG5mbAQCEaxVA"*)(*]VB*);
Apply a filter
MeanShiftFilter[img, 5, 1] // Binarize // ColorNegate
(*VB[*)(FrontEndRef["abea480b-c478-4f3f-ab82-c2e6af26c0e0"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJyalJppYGCTpJpuYW+iapBmn6SYmWRjpJhulmiWmGZklG6QaAACUuBZX"*)(*]VB*)
Create a mesh region
ξ = ImageMesh[(*VB[*)(FrontEndRef["f3ac6321-8ee3-4646-a58d-2a0c3cf2193c"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKpxknJpsZGxnqWqSmGuuamJmY6SaaWqToGiUaJBsnpxkZWhonAwCEARWb"*)(*]VB*)]
(*VB[*)(CoffeeLiqueur`Extensions`Boxes`Workarounds`temporal$644329)(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJxoZmxumpRnrGqaYp+iaGCRb6lokGpnrJicaG6QZJSeaJ5qlAQCFdBX5"*)(*]VB*)
Compute eigenfunctiions of the wave equation
{vals, funs} = NDEigensystem[ {-Laplacian[u[x, y], {x, y}], DirichletCondition[u[x, y] == 0, True]}, u[x, y], Element[{x, y}, ξ], 6];
Plot different time slots
Grid@ Partition[ Table[ContourPlot[funs[[i]], Element[{x, y}, ξ], PlotRange -> All, ImageSize->300, PlotLabel -> vals[[i]]], {i, Length[vals]}], 2]
(*GB[*){{(*VB[*)(FrontEndRef["784af6a2-f032-4460-9b9b-494f02cb4c5b"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKm1uYJKaZJRrpphkYG+mamJgZ6FomWSbpmliapBkYJSeZJJsmAQB8mBVx"*)(*]VB*)(*|*),(*|*)(*VB[*)(FrontEndRef["5243adc3-a051-4161-b10e-27ad620383a3"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKmxqZGCemJBvrJhqYGuqaGJoZ6iYZGqTqGpknppgZGRhbGCcaAwB4zBTv"*)(*]VB*)}(*||*),(*||*){(*VB[*)(FrontEndRef["82967958-4efd-4fca-95fe-4e71721d1655"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKWxhZmplbmlromqSmpeiapCUn6lqapqUCueaG5kaGKYZmpqYAgIwVYw=="*)(*]VB*)(*|*),(*|*)(*VB[*)(FrontEndRef["98e7ad7c-6b56-40de-a4d4-bc96f11d4156"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKW1qkmiemmCfrmiWZmumaGKSk6iaapJjoJiVbmqUZGqaYGJqaAQCNWhXc"*)(*]VB*)}(*||*),(*||*){(*VB[*)(FrontEndRef["f5feca55-1d3e-465f-a182-6b580c91f196"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKp5mmpSYnmprqGqYYp+qamJmm6SYaWhjpmiWZWhgkWxqmGVqaAQCPLBWt"*)(*]VB*)(*|*),(*|*)(*VB[*)(FrontEndRef["ca854dfe-a6a0-4658-a189-499483b2406c"])(*,*)(*"1:eJxTTMoPSmNkYGAoZgESHvk5KRCeEJBwK8rPK3HNS3GtSE0uLUlMykkNVgEKJydamJqkpKXqJpolGuiamJla6CYaWljqmlhamlgYJxmZGJglAwCIdRVP"*)(*]VB*)}}(*]GB*)